package card.player;

import java.util.List;

/**
 * @description: 玩家接口
 * 定义接收牌、清牌、出牌方法
 * @author: ly
 * @date: 2020/8/20 17:52
 */
public interface Player {
    /**
     * 接收一张牌
     *
     * @param card 牌
     */
    void accept(String card);

    /**
     * 接收集合
     *
     * @param cardList 牌集合
     */
    void accept(List<String> cardList);

    /**
     * 清理牌
     *
     * @param cardList 牌集合
     */
    List<String> order(List<String> cardList);

    /**
     * 打印自身信息
     */
    void print();

    /**
     * 出牌
     *
     * @param cards 打出的牌
     * @return true:出牌成功
     */
    boolean leave(String cards);

    /**
     * 身份标识
     *
     * @return 农民 or 地主
     */
    String getMark();
}
